AufgabeAddText: -------------- Definiere eine funktion "addText" an die ein String-Array und ein String übergeben wird. Der Text soll am jeden Wert des Arrays angehängt werden. Nachdem die Funktion ausgeführt wurde: addText(a, " STOP"); endet jeder einzelne String im Array auf STOP. (AufgabeWaren1) Lagerbestand anzeigen ===================================== Eine Funktion zur Ausgabe: printLager(waren, lager) (nimmt zwei Arrays entgegen) erzeugt eine Bildschirmausgabe: Ayran: 99 Schokoriegel: 70 Stifte: 53 .... Folgeaufgabe (AufgabeWaren2) ---------------------------- Es kommt in der Tabelle ein Feld für den Preis hinzu. Ayran: 99 1.99 Schokoriegel: 70 1.30 Stifte: 53 0.99 .... und in der nächsten Version Dazu kommt in der Tabelle der Lagerwert: (d.h. Lagerwert für jede Ware ist der Preis mal die Stückzahl im Lager) Ayran: 99 1.99 Euro 197.01 Euro Schokoriegel: 70 1.30 Euro 91.00 Euro .... Folgeaufgabe (AufgabeWaren3), (TestIndent) ------------------------------------------ Die Ausgegebene Tabelle soll eingerückt sein. Ayran: 99 1.99 Euro 197.01 Euro Schokoriegel: 70 1.30 Euro 91.0 Euro Stifte: 53 0.99 Euro 52.47 Euro .... Wir brauchen eine Hilfsfunktion "indent" indent nimmt eine Länge und einen String entgegen gibt einen String aus Wenn der übergebene String kürzer ist als die angegebebe Länge, wird der zurückgegebene String von vorne mit Leerzeichen aufgefüllt, um auf die angegebene Gesamtlänge zu kommen. Falls der String von vornherein länger ist, wird er so zurück gegeben, wie er ist. Java kennt die Funktion foobar.length(), die die Länge vom String foobar zurück gibt (analog zur Property length eines Arrays) AufgabeWaren4 ------------- Die indent-Funktion wird so überlagert, dass sie außer mit dem String auch direkt mit einem int oder double-Wert aufgerufen werden kann. Siehe Codebeispiel. Im Prinzip brauchen wir ZWEI weitere Funktionen. Hinweis: Den Ausdruck (text = "" + integer) können wir auch in die Funktion packen. Wir werden uns eine extra Textvariable zur Hilfe anlegen müssen. AufgabeWaren5 ------------- Wir wollen, dass auch die Geldbeträge korrekt untereinander eingerückt sind. D.h. Double-Werte, die Hundertstel-Stelle haben sollen in der Textdarstellung vor dem Einrücken noch eine zusätzliche 0 angehängt kriegen. Darstellung bisher: Ayran: 99 1.99 Euro 197.01 Euro Schokoriegel: 70 1.3 Euro 91.0 Euro Gewünschte Darstellung: Ayran: 99 1.99 Euro 197.01 Euro Schokoriegel: 70 1.30 Euro 91.00 Euro ^ ^ | | Look here! And here! Dazu modifizieren wir einfach die indent-Funktion für den Double-Wert. Hinweis: wir müssen irgendwie die Abfrage formuliert kriegen, ob in dem Wert Hundertstel-Stellen vorhanden sind. Die Modulo-Operation (%) _kann_ dabei eine Rolle spielen aber es gibt andere Varianten. (x * 100) % 10 == 0